#ifndef ENUMS_H
#define ENUMS_H

// Includes
#include "MessageIdentifiers.h"
#include "RakString.h"
#include <Ogre.h>

// Variables used by the RakNet client and server
#define NUM_CLIENTS 4
#define SERVER_PORT 66666
#define SERVER_IP "173.178.33.174"

// Identifiers for packets sent and received to and from server
enum UserPackets
{
	MSG_LOGIN_CHALLENGE = ID_USER_PACKET_ENUM,
	MSG_ACCOUNT_VALID,
	MSG_ACCOUNT_INVALID,
	MSG_RETRIEVING_CHARACTER_LIST,
	MSG_NO_CHARACTERS,
	MSG_CHARACTER_LIST,
	MSG_DELETE_CHARACTER,
	MSG_CREATE_CHARACTER,
	MSG_RETRIEVE_CHARACTER_DATA,
	MSG_CHARACTER_DATA,
	MSG_CHAT_MSG,
	MSG_NEW_CHARACTER,
	MSG_CHARACTER_LEFT,
	MSG_MOVEMENT_MSG,
	MSG_ROTATION_MSG
};

enum Genders
{
	NO_GENDER = 0,
	MALE,
	FEMALE
};

enum Classes
{
	NO_CLASS = 0,
	WARRIOR,
	ARCHER,
	MAGE,
	PRIEST
};

struct PlayerData
{
	SystemAddress mIp;
	int mId;
	int mAccount;
	RakNet::RakString mName;
	int mLevel;
	int mClass;
	Ogre::Vector3 mStartPosition;
	int mStartRotation;
	RakNet::RakString mModel;
	int mGender;
};

#endif // ENUMS_H